# Carnal Realms council eligibility overrides.
# Tiers 0 and 4 restrict eligibility. Tiers 1-3 admit both sexes; their
# 25/50/75 weighting remains in the separate recruitment decisions.

cr_realm_has_councilor_gender_law_trigger = {
	top_liege = {
		OR = {
			has_law = cr_councilor_gender_law_0
			has_law = cr_councilor_gender_law_1
			has_law = cr_councilor_gender_law_2
			has_law = cr_councilor_gender_law_3
			has_law = cr_councilor_gender_law_4
		}
	}
}

cr_realm_has_ordination_law_trigger = {
	top_liege = {
		OR = {
			has_law = cr_ordination_law_0
			has_law = cr_ordination_law_1
			has_law = cr_ordination_law_2
			has_law = cr_ordination_law_3
			has_law = cr_ordination_law_4
		}
	}
}

# Keep the vanilla fallback aligned with CR's rewritten cultures and religions.
gender_equality_trigger = {
	OR = {
		equality_culture = yes
		equality_religion = yes
		AND = {
			is_landed = yes
			primary_title = { has_law = status_of_women_4 }
		}
		AND = {
			is_landed = no
			liege = {
				primary_title = { has_law = status_of_women_4 }
			}
		}
		has_game_rule = {
			name = gender
			value = all
		}
	}
}

# Vanilla/CM fallback for realms too small to possess the CR law groups.
cr_fallback_council_gender_allows_character_trigger = {
	OR = {
		AND = {
			is_female = no
			NOT = { liege = { has_religion_feature = religion_matriarchal } }
		}
		AND = {
			is_female = yes
			liege = { has_religion_feature = religion_matriarchal }
		}
		trait = horse
		AND = {
			liege = {
				primary_title = {
					OR = {
						has_law = status_of_women_2
						has_law = status_of_women_3
					}
				}
			}
			OR = {
				liege = {
					OR = {
						dynasty = ROOT
						is_close_relative = ROOT
						any_spouse = { character = ROOT }
						any_consort = { character = ROOT }
					}
				}
				is_landed = yes
				trait = nun
			}
		}
		AND = {
			is_female = yes
			liege = { gender_equality_trigger = yes }
		}
	}
}

cr_council_gender_allows_character_trigger = {
	OR = {
		AND = {
			cr_realm_has_councilor_gender_law_trigger = yes
			OR = {
				top_liege = {
					OR = {
						has_law = cr_councilor_gender_law_1
						has_law = cr_councilor_gender_law_2
						has_law = cr_councilor_gender_law_3
					}
				}
				AND = {
					is_female = no
					top_liege = { has_law = cr_councilor_gender_law_0 }
				}
				AND = {
					is_female = yes
					top_liege = { has_law = cr_councilor_gender_law_4 }
				}
			}
		}
		AND = {
			cr_realm_has_councilor_gender_law_trigger = no
			cr_fallback_council_gender_allows_character_trigger = yes
		}
	}
}

cr_fallback_ordination_gender_allows_character_trigger = {
	OR = {
		is_female = no
		religion_allows_female_temple_holders = yes
		has_religion_feature = religion_matriarchal
	}
	OR = {
		is_female = yes
		religion_allows_male_temple_holders = yes
		has_religion_feature = religion_patriarchal
	}
}

cr_ordination_gender_allows_character_trigger = {
	OR = {
		AND = {
			cr_realm_has_ordination_law_trigger = yes
			OR = {
				top_liege = {
					OR = {
						has_law = cr_ordination_law_1
						has_law = cr_ordination_law_2
						has_law = cr_ordination_law_3
					}
				}
				AND = {
					is_female = no
					top_liege = { has_law = cr_ordination_law_0 }
				}
				AND = {
					is_female = yes
					top_liege = { has_law = cr_ordination_law_4 }
				}
			}
		}
		AND = {
			cr_realm_has_ordination_law_trigger = no
			cr_fallback_ordination_gender_allows_character_trigger = yes
		}
	}
}

cr_council_candidate_base_trigger = {
	independent = no
	prisoner = no
	NOT = { trait = incapable }
	NOT = { trait = in_hiding }
	NOT = { has_character_modifier = resigned_in_anger }
	NOT = {
		liege = {
			has_opinion_modifier = {
				who = ROOT
				modifier = opinion_resigned_from_council
			}
		}
	}
}

# The canonical names below intentionally override vanilla council checks.
can_be_chancellor_trigger = {
	OR = {
		AND = {
			cr_council_gender_allows_character_trigger = yes
			is_adult = yes
		}
		has_character_flag = special_chancellor
	}
	cr_council_candidate_base_trigger = yes
}

can_be_marshal_trigger = {
	OR = {
		AND = {
			cr_council_gender_allows_character_trigger = yes
			OR = {
				NOT = { religion = hindu }
				trait = kshatriya
			}
			is_adult = yes
		}
		has_character_flag = special_marshal
	}
	cr_council_candidate_base_trigger = yes
	NOT = { has_character_flag = guru }
}

can_be_treasurer_trigger = {
	OR = {
		AND = {
			cr_council_gender_allows_character_trigger = yes
			is_adult = yes
		}
		has_character_flag = special_treasurer
	}
	cr_council_candidate_base_trigger = yes
	NOT = { has_character_flag = guru }
}

can_be_spymaster_trigger = {
	OR = {
		AND = {
			cr_council_gender_allows_character_trigger = yes
			is_adult = yes
		}
		has_character_flag = special_spymaster
	}
	cr_council_candidate_base_trigger = yes
	NOT = { has_character_flag = guru }
}

can_be_spiritual_trigger = {
	cr_council_candidate_base_trigger = yes
	liege = { religion = ROOT }
	OR = {
		AND = {
			is_adult = yes
			cr_ordination_gender_allows_character_trigger = yes
			OR = {
				NOT = { religion = hindu }
				trait = brahmin
				is_ascetic_trigger = yes
			}
		}
		has_character_flag = special_spiritual
	}
	OR = {
		is_theocracy = yes
		AND = {
			liege = { is_tribal = yes }
			is_ruler = no
		}
		liege = { religion_group = muslim }
		AND = {
			clan = yes
			liege = { is_nomadic = yes }
		}
		AND = {
			has_autocephaly = no
			is_ruler = no
		}
		AND = {
			has_autocephaly = yes
			is_ruler = no
			NOT = { any_vassal = { is_theocracy = yes } }
		}
	}
	OR = {
		NOT = { religion_group = muslim }
		NOT = { liege = { religion_group = muslim } }
		trait = detached_priest
		trait = martial_cleric
		trait = scholarly_theologian
		trait = mastermind_theologian
		has_character_flag = special_spiritual
	}
}

can_be_councilmember_king_trigger = {
	cr_council_candidate_base_trigger = yes
	cr_council_gender_allows_character_trigger = yes
	is_adult = yes
}

can_be_councilmember_emperor_trigger = {
	cr_council_candidate_base_trigger = yes
	cr_council_gender_allows_character_trigger = yes
	is_adult = yes
}
